package DAL.DAO;

import DAL.DTO.TechnicienDTO;
import DAL.DTO.ZoneGeographiqueDTO;
import ERRORS.EmployeExistantException;
import ERRORS.EmployeInexistantException;
import ERRORS.LoginException;

public abstract class TechnicienDAO {
        public abstract boolean loginInterne(String matricule, String password) 
                throws LoginException;
        public abstract boolean loginExterne(String matricule, String password) 
                throws LoginException;
        public abstract boolean desactiverLogin(String matricule);
        public abstract boolean activerLogin(String matricule);
    
        public abstract TechnicienDTO enregistrer(  String nom, String prenom, String rue, 
                                                    String numero, int codePostal, 
                                                    String ville, String pays,
                                                    ZoneGeographiqueDTO zone, String telephone,
                                                    String email, boolean gestionClient, 
                                                    boolean gestionIntervention, 
                                                    boolean gestionPlanning, boolean gestionDirection, 
                                                    boolean gestionOnSite, boolean gestionSysteme,
                                                    String password)throws EmployeExistantException;
        public abstract TechnicienDTO modifier(TechnicienDTO technicien) throws EmployeInexistantException;
        public abstract void supprimer(String matricule) throws EmployeInexistantException;
}